+2007-07-09 Matthias Clasen <mclasen@redhat.com>
+
+ * gtklabel.[ch]: Use a bit of the GtkLabel structure to
+ remember that a pattern has been set.
+ (gtk_label_set_pattern_internal): Don't do anything if
+ a specific pattern has been set.
+ (gtk_label_set_pattern): set the new bit to TRUE when
+ setting a pattern, and recalculate everything if the
+ pattern is unset. Fix gtk_label_set_pattern() not working
+ anymore. (#452861, Vincent Untz)
+
2007-07-09 Claude Paroz <claude@2xlibre.net>
* configure.in: Changed uz to uz@cyrillic and uz@Latn to uz.
label->use_underline = FALSE;
label->use_markup = FALSE;
+ label->pattern_set = FALSE;
label->mnemonic_keyval = GDK_VoidSymbol;
label->layout = NULL;
g_return_if_fail (GTK_IS_LABEL (label));
+ if (label->pattern_set)
+ return;
+
g_object_get (gtk_widget_get_settings (GTK_WIDGET (label)),
"gtk-enable-mnemonics", &enable_mnemonics,
NULL);
{
g_return_if_fail (GTK_IS_LABEL (label));
- gtk_label_set_pattern_internal (label, pattern);
+ label->pattern_set = FALSE;
+
+ if (pattern)
+ {
+ gtk_label_set_pattern_internal (label, pattern);
+ label->pattern_set = TRUE;
+ }
+ else
+ gtk_label_recalculate (label);
gtk_label_clear_layout (label);
gtk_widget_queue_resize (GTK_WIDGET (label));